package House.tools;

import House.House;

public class HouseService {
    private House[] house;
    private int houseNums=1;//记录
    private int idCount=1;//记录当前id增长的那个值

    public HouseService(int size) {
        house = new House[size];//当创建一个HouseService对象的时候，指定数组的大小
        //为了配合测试列表信息，初始化一个house对象
        house[0] = new House(1, "tom", "10086", "渭滨区", 2000, "未出租");
    }
    //find方法，返回house对象或者是一个空
   public House findById(int findId){
    //遍历
       for (int i = 0; i < houseNums; i++) {
           if (findId==house[i].getId()){
               return  house[i];
           }
       }
        return null;
    }
    //del方法，删除一个房屋信息
    public boolean del(int delId){
        //应当找到删除的房屋信息，一定搞清楚下标和房屋的编号不是一回事
        int index=-1;
        for (int i = 0; i < houseNums; i++) {
            if (delId==house[i].getId()){
                index=i;
            }
        }if (index==-1){
            return false;//说名index还是-1 输入的下标有误
        }
        //如果找到
        for (int i = index; i < houseNums - 1; i++) {
            house[i]=house[i+1];
        }
        house[houseNums-1]= null;
        return true;
    }
    //add 添加对象方法
    public boolean add(House newHouse){
        //先判断是否能添加
        if (houseNums==house.length){//数组满了，不能添加了
            System.out.println("数组满了，不能继续添加了");
            return false;
        }
        house[houseNums]=newHouse;//把新的信息加入到数组的最后
        houseNums++;
        idCount++;
        newHouse.setId(idCount);
        return true;
    }
    //list 方法返回house
    public House[]list(){
        return house;
    }
}
